#pragma once
#include "DXAMLCommon.h"

struct IPALCriticalSection;

class CXcpAutoCritSec
{
private: 
	CXcpAutoCritSec(const CXcpAutoCritSec &);
public: 
	CXcpAutoCritSec(struct IPALCriticalSection * pCriticalSection);
	~CXcpAutoCritSec();
private: 
	CXcpAutoCritSec & operator=(const CXcpAutoCritSec &);
	static void * operator new(XUINT32 cSize);
	static void operator delete(void * pAddress);
	static void * operator new[](XUINT32 cSize);
	static void operator delete[](void * pAddress);
	struct IPALCriticalSection * m_pCriticalSection;

};

